Next: Substitution, Previous: Case Changes, Up: Text [Contents][Index]
Each character position in a buffer or a string can have a text property list, much like the property list of a symbol (see Property Lists). The properties belong to a particular character at a particular place, such as, the letter ‘T’ at the beginning of this sentence or the first ‘o’ in ‘foo’—if the same character occurs in two different places, the two occurrences in general have different properties.
Each property has a name and a value. Both of these can be any
Lisp object, but the name is normally a symbol. Typically each
property name symbol is used for a particular purpose; for
instance, the text property face specifies the faces
for displaying the character (see Special
Properties). The usual way to access the property list is to
specify a name and ask what value corresponds to it.
If a character has a category property, we call
it the property category of the character. It should be
a symbol. The properties of the symbol serve as defaults for the
properties of the character.
Copying text between strings and buffers preserves the
properties along with the characters; this includes such diverse
functions as substring, insert, and
buffer-substring.
| • Examining Properties: | Looking at the properties of one character. | |
| • Changing Properties: | Setting the properties of a range of text. | |
| • Property Search: | Searching for where a property changes value. | |
| • Special Properties: | Particular properties with special meanings. | |
| • Format Properties: | Properties for representing formatting of text. | |
| • Sticky Properties: | How inserted text gets properties from neighboring text. | |
| • Lazy Properties: | Computing text properties in a lazy fashion only when text is examined. | |
| • Clickable Text: | Using text properties to make regions of text do something when you click on them. | |
| • Fields: | The field property
defines fields within the buffer. |
|
| • Not Intervals: | Why text properties do not use Lisp-visible text intervals. |
Next: Substitution, Previous: Case Changes, Up: Text [Contents][Index]